package dkffkd23.basic;

import java.util.Scanner;

import jihyun.model.Sungjuk_VO;
import jihyun51.service.ArraySungJuk;
import jihyun51.service.JDBCSungJuk;

public class J19_SungJuk_v6 {

	private static final String title = "배열을 이용한 성적 프로그램입니다.";
	private static final String menu = ">>>추가(1)  조회(2)  수정(3) 삭제(4) 종료(0)";
	private static final String ad = "이름 | 국어 | 영어 | 수학 순으로 입력하세요";
	private static final String modmsg1 = " 수정할 데이터의 번호를 입력하세요";
	private static final String modmsg2 = " 수정할 데이터를  이름 | 국어 | 영어 | 수학 순으로 입력하세요";
	private static final String delmsg = " 삭제할 데이터의 번호를 입력하세요";

	public static void main(String[] args) {

		// 오라클 데이터 베이스를 이용한 성적 처리
		// ArraySungJuk 대신 JDBCSungJuk으로 변경
		JDBCSungJuk sjsrv = new JDBCSungJuk();
		Scanner sc = new Scanner(System.in);

		while (true) {

			System.out.println(title);
			System.out.println(menu);
			System.out.println(ad);

			switch (sc.nextInt()) {
			case 0:
				sc.close();
				System.exit(0);
				break;
			case 1:
				addSungJuk(sc, sjsrv);
				break;
			case 2:
				showSungJuk(sjsrv);
				break;
			case 3:
				modifySungJuk(sc, sjsrv);
				break;
			case 4:
				removeSungJuk(sc, sjsrv);
				break;
			}

		}

	}

	// 괄호 안은 매개변수
	public static void addSungJuk(Scanner sc, JDBCSungJuk sjsrv) {
		System.out.println(ad);
		Sungjuk_VO sj = new Sungjuk_VO(sc.next(), sc.nextInt(), sc.nextInt(),
				sc.nextInt());

		// 입력받은 데이터를 배열에 저장
		sjsrv.newSungJuk(sj);

	}// 성적데이터 입력

	public static void showSungJuk(JDBCSungJuk sjsrv) {
		System.out.println(sjsrv.readSungJuk());
	}// 배열에 저장된 성적데이터 모두 출력

	public static void modifySungJuk(Scanner sc, JDBCSungJuk sjsrv) {
		System.out.println(sjsrv.readSungJuk());
		System.out.println(modmsg1);
		String sjno = sc.next(); // 수정할 학생번호 입력
		System.out.println(modmsg2);
		Sungjuk_VO sj = new Sungjuk_VO(sc.next(), sc.nextInt(), sc.nextInt(),
				sc.nextInt());
		sj.setSjno(sjno); // !!??
		if (sjsrv.modifySungJuk(sj))
			System.out.println("성공적으로 데이터 수정됨");

	}

	public static void removeSungJuk(Scanner sc, JDBCSungJuk sjsrv) {
		System.out.println(sjsrv.readSungJuk());// 삭제하기 전에 전체자료를 먼저 출력
		System.out.println(delmsg);
		String sjno = sc.next(); // 삭제할 학생번호 입력
		if (sjsrv.removeSungJuk(sjno))
			System.out.println("성공적으로 데이터 삭제됨");

	}

}
